package ru.rchervot.sanasar.client.model;

import java.util.Set;

import ru.rchervot.sanasar.client.model.filters.Filter;

import com.google.gwt.user.client.rpc.IsSerializable;

public interface Query extends IsSerializable {
		
	public int getID();
	public void setID(int id);

	public int getPageSize();
	public void setPageSize(int pageSize);

	public void setOffset(int offset);
	public int getOffset();

	public void setJoinOperator(QueryJoin queryJoin);
	public QueryJoin getJoinOperator();
		
	public void setOrderBy(Sort orderBy);
	public Sort getOrderBy();
	
	public void addFilter(Filter f);
	public void removeFilter(int i);
	public Filter getFilter(int i);
	
	public Filter getFilter(String filterName);
	public void removeFilter(String filterName);
	public Set<String> getFiltersNames();
	
	public int filtersCount();
	
	public Integer getUserId();
	
  public boolean isSaved();
}